登陆 renren.py
用了几次,后来就登不上了。改了,更登不上了。
#!/usr/bin/python
# coding:UTF-8
# CopyRight 2011 Adou XD ,All Rights Reserved
import urllib
import urllib2
import os
import sys
import cookielib
import re
import socket
from BeautifulSoup import BeautifulSoup
class renren():
''''''
logdata = {}
logdata['email'] = ''
logdata['password'] = ''
#logdata['icode'] = ''
#logdata['autoLogin'] = 'true'
logdata['origURL'] = 'http://www.renren.com/home'
#logdata['domain'] = 'renren.com'
#logdata['key_id'] = '1'
#logdata['_rtk'] = '******'
logdata['formName'] = ''
logdata['method'] = ''
logdata['isplogin'] = 'true'
logdata['submit'] = '鐧诲綍'
def login(self ,email ,psd ):
renren.logdata['email'] = email
renren.logdata['password'] = psd
postdata = urllib.urlencode(renren.logdata)
cookiefile = urllib2.HTTPCookieProcessor()
self.opener = urllib2.build_opener(cookiefile)
req = urllib2.Request('http://www.renren.com/PLogin.do',postdata)
result = self.opener.open(req)
'''
if result.geturl() != 'http://www.renren.com/home' and 'http://guide.renren.com/guide':
print "Login Failed!"
return False
'''
rawHtml = result.read()
open('out.html','w').write(rawHtml)
tokens = re.findall( r"(?<=get_check:')[\-0-9]+" ,rawHtml)
if not tokens :
print "requestToken Not Found!"
return False
self.requestToken = tokens[0]
rtks = re.findall( r"(?<=get_check_x:')[a-fA-F0-9]+" ,rawHtml)
if not rtks :
print "_rtk Not Found!"
return False
self.rtk= rtks[0]
return True
def poststatus(self,msg):
statusdata = {'content':msg,
'isAtHome':'1',
'requestToken':self.requestToken }
poststatus = urllib.urlencode(statusdata)
updataReq = urllib2.Request('http://status.renren.com/doing/updateNew.do',poststatus)
updataResult = self.opener.open(updataReq)
def postmainstatus(self,msg) :
statusdata = {'content':msg,
'isAtHome':'1',
'requestToken':self.requestToken,
'_rtk':self.rtk,
'channel':'renren'
}
poststatus = urllib.urlencode(statusdata)
#updataReq = urllib2.Request('http://page.renren.com/doing/update',poststatus)
updataReq = urllib2.Request('http://shell.renren.com/601122810/status',poststatus)
updataResult = self.opener.open(updataReq)
if __name__ == "__main__":
me = renren()
if not me.login('username','password') :
#print 'Login Failed!'
sys.exit()
me.postmainstatus("Hello,Pyton!")